package com.ruoyi.media.mediaAccount.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.media.mediaAccount.domain.MediaAccount;
import com.ruoyi.media.mediaAccount.domain.bo.MediaAccountBo;
import com.ruoyi.media.mediaAccount.domain.vo.MediaAccountVo;

import java.util.Collection;
import java.util.List;

/**
 * 自媒体账号列Service接口
 *
 * @author dqw
 * @date 2023-03-23
 */
public interface IMediaAccountService extends IService<MediaAccount> {

    /**
     * 查询自媒体账号列
     */
    MediaAccountVo queryById(Long id);

    /**
     * 查询自媒体账号列列表
     */
    TableDataInfo<MediaAccountVo> queryPageList(MediaAccountBo bo, PageQuery pageQuery);


    /**
     * 查询自媒体账号列列表
     */
    List<MediaAccountVo> queryList(MediaAccountBo bo);

    /**
     * 新增自媒体账号列
     */
    Boolean insertByBo(MediaAccountBo bo);

    /**
     * 修改自媒体账号列
     */
    Boolean updateByBo(MediaAccountBo bo);

    /**
     * 校验并批量删除自媒体账号列信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 添加账号逻辑
     * @return
     */
    Boolean addMediaAccount(MediaAccountBo bo);


    /**
     * 根据用户id获取账号信息
     * @return
     */
    List<MediaAccount> getAccountDataByUserId(String userId);

    /**
     * 视频号保持登录状态
     */
    void keepChannelsKeepLogin();
}
